Various different telecommunication networks are known. A telecommunication network is a cellular telecommunication network, wherein the area covered by the network is divided into a plurality of cells. Each cell is provided with a base station, which serves mobile stations in the cell associated with the base station. User equipment, such as mobile stations, thus receive signals from and transmit signals to the base station, and thereby may communicate through the base stations. The cellular system also typically comprises a base station controller controlling the operation of one or more base stations. At least some of the user equipment in the system may be able to communicate simultaneously on one or more communication channels.
Telecommunications are subject to the problem of ensuring that the received information is sent by an authorised sender and not by an unauthorised party who is trying to masquerade as the sender. The problem is especially relevant to cellular telecommunication systems, where the air interface presents an potential opportunity for an unauthorised party to eavesdrop and replace the contents of a transmission.
One solution to this problem is authentication of the communicating parties. An authentication process aims to discover and check the identity of both communicating parties, so that each party receives information about the identity of the other party, and can trust the identity. Authentication is typically performed in a specific procedure at the beginning of a connection. However, this procedure leaves room for the unauthorized manipulation, insertion, and deletion of subsequent messages. There is a need for separate authentication of each transmitted message. This can be done by appending a message authentication code (MAC-I) to the message at the transmitting end, and checking the message authentication code MAC-I value at the receiving end.
A message authentication code MAC-I is typically a relatively short string of bits, which is dependent on the message it protects and on a secret key known both by the sender and by the recipient of the message. The secret key is generated and agreed during the authentication procedure at the beginning of the connection. In some cases the algorithm (that is used to calculate the message authentication code MAC-I based on the secret key and the message) is also secret but this is not usually the case.
The process of authentication of single messages is often called integrity protection. To protect the integrity of a message, the transmitting party computes a message authentication value based on the message to be sent and the secret key using the specified algoritm, and sends the message with the message authentication code MAC-I value. The receiving party recomputes a message authentication code MAC-I value based on the message and the secret key according to the specified algorithm, and compares the received message authentication code MAC-I and the calculated message authentication code MAC-I. If the two message authentication code MAC-I values match, the recipient can trust that the message is intact and sent by the supposed party.
Integrity protection schemes can be attacked. There are two methods that an unauthorised party can use to forge a message authentication code MAC-I value for a modified or a new messages. The first method involves the obtaining of the secret key and the second method involves providing modified or new message without knowledge of the secret key.
The secret key can be obtained by a third party in two ways:    by computing all possible keys until a key is found, which matches with data of observed message authentication code MAC-I pairs, or by otherwise breaking the algorithm for producing message authentication code MAC-I values; or    by directly capturing a stored or transmitted secret key.
The original communicating parties can prevent a third party from obtaining the secret key by using an algorithm that is cryptographically strong, by using a long enough secret key to prevent the exhaustive search of all keys, and by using a secure method for the transmission and storage of secret keys.
A third party can try to disrupt messaging between the two parties without a secret key by guessing the correct message authentication code MAC-I value, or by replaying some earlier message transmitted between the two parties. In the latter case, the correct message authentication code MAC-I for the message is known from the original transmission. This attack can be very useful for an unauthorised third party. For instance, it may multiply the number of further actions that are favorable to the intruder. Even money transactions may be repeated this way.
Correct guessing of the message authentication code MAC-I value can be prevented by using long message authentication code MAC-I values. The message authentication MAC-I value should be long enough to reduce the probability of guessing right to a sufficiently low level compared to the benefit gained by one successful forgery. For example, using a 32 bit message authentication code MAC-I value reduces the probability of a correct guess to 1/4294967296. This is small enough for most applications.
Obtaining a correct message authentication code MAC-I value using the replay attack i.e. by replaying an earlier message, can be prevented by introducing a time varying parameter to the calculation of the message authentication MAC-I values. For example, a time stamp value or a sequence number can be used as a further input to the message authentication code MAC-I algorithm in addition to the secret integrity key and the message.
In the case where a sequence of numbers are used as time varying parameters, a mechanism is used which prevents the possibility of using the same sequence number more than once with the same secret key. Typically, both communicating parties keep track of the used sequence numbers.
If there are several communication channels in use which all use the same secret key the following problem arises. A message in one communication channel associated with a given sequence number, for example n, can be repeated on another communicating channel at a suitable time, that is whenever the sequence number n is acceptable on the other channel.
It has been proposed to apply ciphering and integrity protection in the UMTS system for the third generation standard. However the method, which has been proposed, permits the identical message to be sent on two different signalling radio bearers at different times. This makes the system vulnerable to man-in-the-middle attacks. In particular, such a system may be vulnerable to the “replay attack” described above.
Typically, one single repeated signalling message does not give a significant advantage to the unauthorised third party but it is possible that the third party could try to repeat a longer dialogue in order to, for example, set-up an additional call and, thus steal parts of a connection.